/**
 * @file Ashell_default.h
 * @author Moon
 * @brief Ashell default
 * @version 0.0.1
 * @date 2019-12-31
 * 
 * @copyright (c) 2019 Letter
 * 
 */

#ifndef __SHELL_DEFAULT_H__
#define __SHELL_DEFAULT_H__
#include "Ashell_config.h"

#ifndef ASHELL_ASYNCHRONOUS
#define ASHELL_ASYNCHRONOUS 1           //是否使用异步执行(1:使用(需在任务中执行 Ashell_task), 0:不使用)

#ifndef ASHELL_QUEUE_LEN
#define ASHELL_QUEUE_LEN    1200            //队列深度
#endif
#endif


#ifndef ASHELL_USE_RTOS
#define ASHELL_USE_RTOS     1           //是否使用RTOS(1:使用, 0:不使用)
#include "FreeRTOS.h"
#include "task.h"
#include "queue.h"
#include "semphr.h"
#include "stm32f4xx.h"

#ifndef ASHELL_TASK_PRIO
#define ASHELL_TASK_PRIO   2                      //任务优先级
#endif

#ifndef ASHELL_STK_SIZE
#define ASHELL_STK_SIZE    800                    //任务堆栈大小
#endif

#ifndef ASHELL_IRQ_STA
#define	ASHELL_IRQ_STA()	__get_CONTROL() //终端状态获取(>0:中断 0：非中断)
#endif
#endif

#endif
